package org.x.user.service;

import java.lang.Boolean;
import java.lang.String;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import org.x.user.entity.SysUsers;
import org.x.user.entity.SysUserDept;
import org.x.user.entity.SysUserRoles;
import org.x.user.entity.SysTokens;
import org.x.user.dto.UserDTO;
import org.x.user.vo.UserVO;

/**
 * 用户管理
 *
 * @author 夏包包
 * @date 2025-03-08 13:39:03
 */
public interface UserService extends IService<SysUsers> {

    /**
     * add
     *
     * @param userDTO 用户信息入参实体类
     * @return
     */
    Boolean addUser(UserDTO userDTO);

    /**
     * delete
     *
     * @param userDTO 用户信息入参实体类
     * @return
     */
    Boolean deleteUser(UserDTO userDTO);

    /**
     * update
     *
     * @param userDTO 用户信息入参实体类
     * @return
     */
    Boolean updateUser(UserDTO userDTO);

    /**
     * info
     *
     * @param userId
     * @return  用户信息实体类
     */
    UserVO userInfo(String userId);

    /**
     * dept
     *
     * @param userId
     * @return
     */
    List<SysUserDept> userDept(String userId);

    /**
     * roles
     *
     * @param userId
     * @return
     */
    List<SysUserRoles> userRoles(String userId);

    /**
     * tokens
     *
     * @param userId
     * @return
     */
    List<SysTokens> userTokens(String userId);
}
